home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 4 / Meeting Pearls Vol. IV (1996)(GTI - Schatztruhe)[!].iso / Pearls / ham / ax.25 / tnt / tnt.doc < prev    next >
Text File  |  1995-04-12  |  71KB  |  1,941 lines

  1. TNT - A UNIX Packet-Radio Terminal Program
  2. ------------------------------------------
  3. (last modified: 95/01/08)
  4.  
  5. Index
  6. -----
  7.  
  8. 0. Introduction
  9. 0.1 License, copying, warranty
  10. 0.2 About Packet Radio and TNT
  11. 0.3 Why this program?
  12. 0.4 What's needed?
  13. 0.5 Mailbox program DPBox
  14.  
  15. 1. Description
  16. 1.1 Virtual screens
  17. 1.2 Main statusline
  18. 1.3 Keyboard-commands
  19. 1.3.1 Cursor movement and miscellaneous
  20. 1.3.2 Window movement and control
  21. 1.3.3 Screen switching
  22. 1.3.4 Keyboard macros
  23. 1.4 Commands in command mode
  24. 1.4.1 TNC-commands
  25. 1.4.2 External commands
  26. 1.4.2.1 Writing data to files
  27. 1.4.2.2 Sending files
  28. 1.4.2.3 Shell,Run and redirect
  29. 1.4.2.4 Directory
  30. 1.4.2.5 Miscellaneous
  31. 1.4.2.6 Extended monitor and boxlist
  32. 1.4.2.7 Interface commands
  33. 1.4.2.8 DPBox-interface commands
  34. 1.4.2.9 Password generation commands 
  35.  
  36. 2. Special features
  37. 2.1 Remote commands
  38. 2.2 Umlaut conversion
  39. 2.2.1 Display
  40. 2.2.2 Sending text
  41. 2.2.3 File-receive
  42. 2.2.4 File-send
  43. 2.3 Using UNIX-features
  44. 2.3.1 Shell-login and Redirection
  45. 2.3.2 Running programs
  46. 2.3.3 Socket interface
  47. 2.4 AutoBIN: File transfer
  48. 2.5 Special connect text and files with macros, Name-database
  49. 2.6 Routing scripts
  50. 2.7 Call update
  51. 2.8 Logbook
  52. 2.9 Keyboard macros
  53. 2.10 Boxlist
  54. 2.10.1 General description
  55. 2.10.2 Using boxlist
  56. 2.10.3 Using keyboard macros
  57. 2.10.4 Recognized formats
  58. 2.11 Extended monitor
  59. 2.12 Use of DPBox
  60. 2.12.1 General description
  61. 2.12.2 Using unix socket interface
  62. 2.12.3 Mailbox screen
  63. 2.12.4 Using DPBox via Packet Radio
  64. 2.12.5 Autobox and monbox feature
  65. 2.13 Automatic password generation
  66. 2.13.1 General description
  67. 2.13.2 DIEBOX
  68.  
  69. 3. Installation
  70. 3.1 Configuration file
  71. 3.1.1 Serial and general configuration
  72. 3.1.2 Security
  73. 3.1.3 Directories and Files
  74. 3.1.4 Lines of virtual screens
  75. 3.1.5 Display configuration
  76. 3.1.6 Screen attributes
  77. 3.1.6.1 Color attributes
  78. 3.1.6.2 Monochrom attributes
  79. 3.1.7 Packet assembly timeout 
  80. 3.2 TNC-configuration files
  81. 3.3 Cookie file
  82. 3.4 Files for remote commands
  83. 3.5 Files for connect text
  84. 3.6 Files for names database and routing scripts
  85. 3.7 User-Id's and security
  86. 3.8 Logfile for resyncronisation
  87. 3.9 File for keyboard macros
  88. 3.10 File for password generation
  89.  
  90. 4. Options at startup
  91.  
  92. 5. Running under X11
  93.  
  94. 6. Porting of TNT
  95.  
  96. 7. The end
  97.  
  98.  
  99. 0. Introduction
  100. ---------------
  101.  
  102. 0.1 License, copying, warranty
  103. ------------------------------
  104. TNT is Copyright (C) 1993-1995 by Mark Wahl, DL4YBG
  105.  
  106. This program is free software; you can redistribute it and/or modify
  107. it under the terms of the GNU General Public License as published by
  108. the Free Software Foundation;
  109.  
  110. This program is distributed in the hope that it will be useful,
  111. but WITHOUT ANY WARRANTY; without even the implied warranty of
  112. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  113. GNU General Public License for more details (contained in file 'license').
  114.  
  115. You should have received a copy of the GNU General Public License
  116. along with this program; if not, write to the Free Software
  117. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  118.  
  119.  
  120. 0.2 About Packet Radio and TNT
  121. ------------------------------
  122. Packet-Radio is a special mode used by Radio Amateurs to transfer text and
  123. data. It is packet orientend and uses the AX.25-protocol (a special version
  124. of X.25 to fit Ham Radio needs).
  125.  
  126. There are some single board computers which implement the AX.25-protocol
  127. and contain the modem-interface to the radio-transceiver. The terminal or
  128. computer with terminalprogram is connected via a RS232-interface. These
  129. single board computers are called Terminal Node Controller (TNC).
  130.  
  131. For most of these TNCs a special software is available (WA8DED-Software or
  132. The Firmware by NORD><LINK) which can be switched to a special protocol
  133. (hostmode) at the RS232-interface. If hostmode is selected it is not
  134. possible to operate the TNC using a simple terminal, a computer with a
  135. special terminalprogram is needed. 
  136.  
  137. The advantage of hostmode is that the terminalprogram can implement virtual
  138. screens for the different connections, the command mode and monitor mode.
  139. All these will be displayed together on a normal terminal which leads to
  140. confusion of the operator.
  141.  
  142. TNT is such a terminalprogram (TNT stands for TNc Terminalprogram). 
  143.  
  144.  
  145. 0.3 Why this program?
  146. ---------------------
  147. There are some implementations of the AX.25-protocol available for UNIX
  148. (KA9Q, WAMPES, ... )
  149.  
  150. They all use the TNC as a simple modem (KISS-mode) and have TCP/IP protocol
  151. implemented (using AX.25).
  152.  
  153. But the operator frontend is very poor, there are no virtual screens and
  154. scroll back buffers.
  155.  
  156. So my intention was to write a program which has a powerful operator frontend
  157. and uses the TNC not as a modem but as a Terminal Node Controller.
  158.  
  159.  
  160. 0.4 What's needed?
  161. ------------------
  162. The program is developed for LINUX and a VT100-compatible terminal. It
  163. further needs a TNC with WA8DED-software or The Firmware by NORD><LINK
  164. connected to a serial port of the computer.
  165.  
  166. The Firmware by NORD><LINK is available for TNC2, all TNC2-clones and for
  167. AEA PK232 and PK88. WA8DED-software is available for TAPR-TNC1.
  168.  
  169. Although LINUX is the development platform a porting to other UNIXes shall
  170. be possible because no special functions are used. Other terminals can
  171. be used if they have at least line insert and line delete and an entry
  172. in /etc/termcap.
  173.  
  174.  
  175. 0.5 Mailbox program DPBox
  176. -------------------------
  177. Joachim, DL8HBS has written a very powerful packet radio program called
  178. DigiPoint for ATARI computers. It contains a packet radio host terminal,
  179. satellite calculations and a bulletin board system.
  180.  
  181. The BBS contains almost all features of the known BBS-systems and is capable
  182. of performing store and forward with many other systems including packed s&f
  183. with F6FBB-BBS's. In addition it can be filled by simply monitoring the
  184. frequency. So you will get an up-to-date mailbox without transmitting
  185. yourself.
  186.  
  187. So I decided to try a port of the BBS-part of DP to Linux. Joachim gave me
  188. his Pascal-sourcecode and I translated it with P2C by Dave Gillespie
  189. (contained in most Linux-distributions) to C. P2C did a terrific job,
  190. thanks Dave! Only some minor prework at the sources was needed and P2C
  191. created almost executable code. An unix socket interface was added on
  192. both sides, TNT and DPBox and the first successful tests were performed.
  193.  
  194. Since then many improvements were done, but still it is not ready.
  195. Some features are missing, some things were not carefully enough tested.
  196. Therefore I have not included the DPBox source. The commands available in
  197. TNT for using DPBox are described but only work together with a running
  198. DPBox. If you are interested in taking part in the DPBox-development,
  199. send me a mail.
  200.  
  201.  
  202. 1. Description
  203. --------------
  204.  
  205. 1.1 Virtual screens
  206. -------------------
  207. It is possible to operate several connection on the same frequency.
  208. Therefore a virtual screen for every connection is implemented. It is
  209. splitted to a part where all input is typed and a part where all received
  210. data will be displayed. A statusline with all information about the
  211. connection is located between these two parts.
  212.  
  213. To change parameters or give commands to the TNC a command screen is
  214. available. To simplify operation all commands can be entered in the connect
  215. screens, too by using a colon (:) as the first character.
  216.  
  217. It is possible to monitor all activity of other stations on the frequency.
  218. To display these information a monitor screen is available.
  219.  
  220. Because only one real display is available the operator must choose which
  221. of the several virtual screens he wants to see. He can switch between them
  222. by using special codes or keys on the keyboard.
  223.  
  224. To see which screen and channel is active and to give global information a
  225. statusline is displayed at the bottom of the screen.
  226.  
  227. All virtual screens (or the two parts of the connect screen) can be
  228. configured larger than the real display on the screen. Therefore only a
  229. small window of the virtual screen is displayed. The window can be moved by
  230. the operator.
  231.  
  232. In addition there are some additional screens for special purposes.
  233. A screen for the heard stations list, for the extended monitor feature,
  234. for the online-help and for the box read generator.
  235. If a link to DPBox ist active, there is a screen for the box operator-
  236. console, too.
  237.  
  238. 1.2 Main statusline
  239. -------------------
  240. The statusline at the bottom of the screen shows the main status of the
  241. program. It shows the screen type (connect, command or monitor) and the
  242. current channel. In addition any open file (send or receive) on the
  243. current channel will be displayed.
  244.  
  245. In addition a 'P' will be displayed if the data output is paused,
  246. a 'I' if insert mode is active. If the hostmode synchronisation is
  247. lost a 'S' will be displayed. If the TNC was busy and a resend of data
  248. from the computer is done, a 'B' will be displayed. If a routing script is
  249. active a 'X' will be displayed.
  250.  
  251. If data is received on a channel which is not displayed the channel number
  252. will be displayed until it is switched to the connect screen of this channel.
  253. If a connection is active on a channel it is displayed by a '+' at the
  254. channel position.
  255.  
  256. If a file is open on the displayed channel, a two-character file type
  257. identifier and the filename (only last 14 charcters) will be displayed
  258. in the statusline. Files which receive data will be displayed in the first
  259. file field, files which transmit data will be displayed in the second file
  260. field. The two-character file type identifier will be explained in the
  261. file command chapter.
  262.  
  263.  
  264. 1.3 Keyboard-commands
  265. ---------------------
  266. Notes:
  267.  
  268. The combination Alt and key generates the code <ESC>key in normal
  269. console mode.
  270. Under X the Alt-key is not supported in that way.
  271. Therefore to activate for example the monitor screen with X you have
  272. to type first <ESC> and then M instead of Alt-M.
  273.  
  274. (*1) : Input part of connect or mailbox screen.
  275. (*2) : Command screen and input part of extended monitor screen.
  276. (*3) : Monitor screen, receive part of connect, extended monitor or
  277.        mailbox screen.
  278. (*4) : Command, boxlist, heard and help screen
  279. (*5) : Only on monitor screen
  280.  
  281. 1.3.1 Cursor movement and miscellaneous
  282. ---------------------------------------
  283. CR, LF, <CNTL>M, <CNTL>J
  284.   The line from the beginning up to the cursor position is transmitted on
  285.   the current channel (*1) or will be transferred to the command interpreter
  286.   (*2). If the first character of (*1) is a colon (":"), the line will be sent
  287.   to the command interpreter (without the colon). A colon as the first
  288.   character of (*2) will be ignored and removed.
  289.  
  290. Arrow key left, <CNTL>S
  291.   Move the cursor one character to the left, if not on the start of the line
  292.   (*1,*2).
  293.  
  294. Arrow key right, <CNTL>D
  295.   Move the cursor one character to the right, if not on the end of the line
  296.   (*1,*2).
  297.  
  298. Arrow key up, <CNTL>E
  299.   Move the cursor one line up, if not on the top of the screen
  300.   (*1,*2,*4).
  301.  
  302. Arrow key down, <CNTL>X
  303.   Move the cursor one line down, if not on the bottom of the screen
  304.   (*1,*2,*4).
  305.  
  306. <CNTL>A
  307.   Move the cursor to the start of the line
  308.   (for command screen and input part of connect screen).
  309.  
  310. <CNTL>F
  311.   Move the cursor to the last non-space character of the line
  312.   (for command screen and input part of connect screen).
  313.  
  314. INSERT, <CNTL>N
  315.   Toggle insert-mode. If insert-mode is active a 'I' is displayed in the
  316.   statusline at the bottom. In normal mode all characters are overwritten,
  317.   in insert mode all characters from cursor position to the end of the line
  318.   will be shifted one position right (*1,*2).
  319.  
  320. DEL, <CNTL>H
  321.   Delete character left of cursor and move cursor one position left. If
  322.   insert-mode is active, all characters from cursor-position to the end of
  323.   the line is moved one position left (*1,*2).
  324.  
  325. <CNTL>L
  326.   The character at the cursor position will be deleted, all characters right
  327.   of the cursor up to the end of the line will be shifted one position left
  328.   (*1,*2).
  329.  
  330. <CNTL>Y
  331.   Delete all characters from the cursor position to the end of the line
  332.   (*1,*2).
  333.  
  334. <CNTL>V
  335.   The pass character. If for example you want to send cntl-T to the connected
  336.   station first type cntl-V and then a 'T'. A different attribute of the
  337.   character shows that it is a control character (*1).
  338.  
  339. 1.3.2 Window movement and control
  340. ---------------------------------
  341. <CNTL>R, Arrow key up (*5)
  342.   Move the display window of the virtual screen one line up, if not on top
  343.   of virtual screen (*3).
  344.  
  345. <CNTL>C, Arrow key down (*5)
  346.   Move the display window of the virtual screen one line down, if not on
  347.   bottom of virtual screen (*3).
  348.  
  349. Page up, <CNTL>W
  350.   Move the display window of the virtual screen one page up, if not on top
  351.   of virtual screen (*3,*4).
  352.  
  353. Page dwn, <CNTL>Z
  354.   Move the display window of the virtual screen one page down, if not on
  355.   bottom of virtual screen (*3,*4).
  356.  
  357. HOME
  358.   Move to the beginning of the window (*3,*4).
  359.  
  360. END
  361.   Move to the end of the window (*3,*4).
  362.  
  363. <CNTL>P, <ALT>P, <ESC>P
  364.   Toggle stop of data-output on the current screen, only possible on connect
  365.   and monitor screen. Stop is indicated by a 'P' in the statusline at the
  366.   bottom (Monitor screen and receive part of connect screen).
  367.  
  368. 1.3.3 Screen switching
  369. ----------------------
  370. F1 - F9
  371.   Switch to connect screen of channel 1 to 9.
  372.  
  373. F10
  374.   Switch to connect screen of channel 0 (unproto channel).
  375.  
  376. F11, <ALT>M, <ESC>M
  377.   Switch to monitor screen, if in monitor screen switch back to last
  378.   selected screen.
  379.  
  380. F12, <ALT>C, <ESC>C
  381.   Switch to command screen.
  382.  
  383. <ALT>Q, <ESC>Q
  384.   Switch to connect screen of current channel.
  385.  
  386. TAB, <CNTL>I
  387.   Select a new channel, a '?' as the channelnumber in the statusline
  388.   indicates this. A number between 0 to 9 for channels 0 to 9 or '@' for
  389.   channel 10 must be entered. If the extended monitor is active, the
  390.   channelnumber of the extended monitor channel (0 to 4) is selected
  391.   instead of the connect channel. 
  392.  
  393. <ALT>X, <ESC>X
  394.   Switch to extended monitor screen.
  395.  
  396. <ALT>S, <ESC>S
  397.   Update heard stations list and display heard list screen.
  398.  
  399. <ALT>L, <ESC>L
  400.   Switch to box read generator (only if activated on current channel).
  401.   If already in read generator screen switch back to screen before
  402.   selection.
  403.  
  404. <ALT>B, <ESC>B
  405.   If DPBox is connected, switch to box operator console.
  406.  
  407. 1.3.4 Keyboard macros
  408. ---------------------
  409. <ALT>0 - <ALT>9, <ESC>0 -<ESC>9
  410.   User definable function keys for either text or commands.
  411.  
  412.  
  413. 1.4 Commands in command mode
  414. ----------------------------
  415.  
  416. 1.4.1 TNC-commands
  417. ------------------
  418. Most commands in hostmode consist of one character. It is difficult to
  419. remember the charcter for a not often needed command. Therefore more verbose
  420. command names were created for every TNC command. But it is still possible
  421. to use the original command characters.
  422. Only the known commands are implemented, if you have a TNC software which
  423. has additional commands, the command TNC (see: 1.4.2.5.) must be used.
  424.  
  425. More information about the commands can be found in the documentation of
  426. the TNC software (TNC commands of NORD><LINK The Firmware 2.6a). Some of
  427. these commands are no longer existing in newer versions (TF 2.7).
  428.  
  429. DAMAdis,"B"     : DAMA timeout
  430. Version,"V"     : Shows version of TNC-software
  431. CHeck,"@T3"     : Connection timer T3
  432. Connect,"C"     : Start connection
  433. CText,"U"       : Response text if connect is received by TNC
  434. DIGIpeat,"R"    : Digipeat function
  435. Disconne,"D"    : End connection
  436. DAYTIme,"K"     : Time and date functions
  437. Frack,"F"       : Start value of round trip timer for retry timing
  438. FUlldup,"@D"    : Fullduplex on modem side
  439. MAXframe,"O"    : Maximum number of outstanding packets
  440. Monitor,"M"     : Frequency monitor functions
  441. MYcall,"I"      : Callsign of the local operator
  442.                   With MYCALL the call sign is set permanently on this
  443.                   channel, with "I" only up to the next disconnect.
  444.                   A permanent MYCALL can be removed by using "$" as call
  445.                   sign.
  446. Persist,"P"     : Persistance value for transmitter keyup
  447. RESptime,"@T2"  : Delay before Info-frame will be confirmed (timer T2)
  448. REtry,"N"       : Maximum number of retries
  449. SLottime,"W"    : Slottime value for transmitter keyup
  450. Txdelay,"T"     : Time after transmitter keyup to sending of data
  451. USers,"Y"       : Number of channel open for connection
  452. Xmitok,"X"      : Locking of transmitter
  453. BUFfers,"@B"    : Free buffers of TNC
  454. A1SRTT,"@A1"    : A1-value for smoothed round trip timer
  455. A2SRTT,"@A2"    : A2-value for smoothed round trip timer
  456. A3SRTT,"@A3"    : A3-value for smoothed round trip timer
  457. IPOll,"@I"      : Packet length up to which I-Poll mode is used
  458. VALcall,"@V"    : Check callsign in connect command
  459.  
  460. All verbose commands can be abbreviated, the upcase part is mandatory.
  461.  
  462.  
  463. 1.4.2 External commands
  464. -----------------------
  465. Most of the commands can be abbreviated, the upcase part of the command
  466. is mandatory.
  467.  
  468. 1.4.2.1 Saving data to files
  469. ----------------------------
  470. LOGQso <filename>
  471.   A file will be openend and all transmitted and received data on the
  472.   selected channel will be saved.
  473.   If no directory was specified, the file will be stored in 'download_dir'.
  474.   If 'download_dir' is empty, the current directory is used. A CR will be
  475.   translated to a LF and control-codes will be translated to ^X.
  476.   Umlaut-conversion will be done, too. The file type ID is 'RN',
  477.   receive normal.
  478.  
  479. LOGRec <filename>
  480.   Same as LOGQSO but only received data will be saved.
  481.   The file type ID is 'RN', receive normal.
  482.  
  483. LOGSnd <filename>
  484.   Same as LOGQSO but only transmitted data will be saved.
  485.   The file type ID is 'RN', receive normal.
  486.  
  487. READ <filename>
  488.   A file will be openend and all received data will be saved.
  489.   If no directory was specified, the file will be stored in 'download_dir'.
  490.   If 'download_dir' is empty, the current directory is used. Only a CR to LF
  491.   translation is done. READ shall be used to receive 7PLUS files.
  492.   The file type ID is 'RP', receive plain.
  493.  
  494. READBin <filename>
  495.   Same as READ but no translation of characters is done.
  496.   The file type ID is 'RB', receive binary.
  497.  
  498. READAbin <filename>
  499.   Start receiving a file using the AutoBIN-protocol.
  500.   If no directory was specified, the file will be stored in 'download_dir'.
  501.   If 'download_dir' is empty, the current directory is used.
  502.   The file type ID is 'RA', receive AutoBIN.
  503.  
  504. LOGAbin <filename>
  505.   Same as READABIN except that at the end of transmission the transfer
  506.   statistics are only displayed, but not sent (useful for receiving binary
  507.   files from BBSs which get confused by the statistics).
  508.   The file type ID is 'RQ', receive AutoBIN, quiet mode.
  509.  
  510. CLose
  511.   Close the active receive-file.
  512.  
  513. LOGMon <filename>
  514.   A file will be openend and all received data on the monitor screen will be
  515.   saved. If no directory was specified, the file will be stored in
  516.   'download_dir'. If 'download_dir' is empty, the current directory is used.
  517.   A CR will be translated to a LF and control-codes will be translated to ^X.
  518.   Umlaut-conversion will be done, too.
  519.   The file type ID is 'RN', receive normal.
  520.  
  521. RDMON <filename>
  522.   Same as LOGMON but only a CR to LF translation is done.
  523.   The file type ID is 'RP', receive plain.
  524.  
  525. RDMONBin <filename>
  526.   Same as RDMON but no translation of characters is done.
  527.   The file type ID is 'RB', receive binary.
  528.  
  529. CLOSEMon
  530.   Close the active receive-file on the monitor screen.
  531.  
  532. LOGXmon <filename> (on extended monitor screen)
  533. LOGXmon <xmon-channel> <filename> (on other screens)
  534.   A file will be openend and all received data on the current (on extended
  535.   monitor screen) or on the specified (on other screens) extended monitor
  536.   channel will be saved.
  537.   If no directory was specified, the file will be stored in 'download_dir'.
  538.   If 'download_dir' is empty, the current directory is used. A CR will be
  539.   translated to a LF and control-codes will be translated to ^X.
  540.   Umlaut-conversion will be done, too.
  541.   The file type ID is 'RN', receive normal.
  542.  
  543. RDXMON <filename> (on extended monitor screen)
  544. RDXMON <xmon-channel> <filename> (on other screens)
  545.   Same as LOGXMON but only a CR to LF translation is done.
  546.   The file type ID is 'RP', receive plain.
  547.  
  548. RDXMONBi <filename> (on extended monitor screen)
  549. RDXMONBi <xmon-channel> <filename> (on other screen)
  550.   Same as RDXMON but no translation of characters is done.
  551.   The file type ID is 'RB', receive binary.
  552.  
  553. CLOSEXmo (on extended monitor screen)
  554. CLOSEXmo <xmon-channel> (on other screens)
  555.   Close the active receive-file on the current (on extended monitor screen)
  556.   or on the specified (on other screens) extended monitor channel.
  557.  
  558. APPend [ON/OFF]
  559.   Flag if data shall be appended to existing files
  560.   (only valid for LOGQSO, LOGREC, LOGSND, LOGMON and LOGXMON).
  561.  
  562. AUTOBIn [ON/OFF]
  563.   Flag if AutoBIN-receive shall start autonomously on reception of a valid
  564.   AutoBIN-Header (AutoBIN-receive is performed in quiet mode like started
  565.   with LOGABIN-command).
  566.  
  567. 1.4.2.2 Sending files
  568. ---------------------
  569. SEND <filename>
  570.   Send a file on the selected channel, a LF will be translated to CR.
  571.   If no directory was specified, the file will be fetched from 'upload_dir'.
  572.   If 'upload_dir' is empty, the current directory is used.
  573.   SEND shall be used to send 7PLUS files.
  574.   The file type ID is 'TP', transmit plain.
  575.  
  576. SENDLog <filename>
  577.   Same as SEND but control-codes will be translated to ^X and
  578.   Umlaut-conversion will be done.
  579.   The file type ID is 'TN', transmit normal.
  580.  
  581. SENDBin <filename>
  582.   Same as SEND but no LF to CR translation.
  583.   The file type ID is 'TB', transmit binary.
  584.  
  585. SENDAbin <filename>
  586.   Send a file using the AutoBIN-protocol.
  587.   If no directory was specified, the file will be fetched from 'upload_dir'.
  588.   If 'upload_dir' is empty, the current directory is used.
  589.   The file type ID is 'TN', transmit autoBIN.
  590.  
  591. BReak
  592.   Abort sending of a file.
  593.  
  594. 1.4.2.3 Shell,Run and redirect
  595. ------------------------------
  596. SHell [trans]
  597.   (This command is available only if TNT is invoked by root.)
  598.   Open a shell on the current channel.
  599.   All received data on the current channel will be sent to the shell, all
  600.   data from the shell will be sent on the current channel. If no parameter
  601.   is specified, all linefeed-characters (0x0A) sent by the shell will be
  602.   translated to carriage return (0x0D). All carriage return characters
  603.   received from the remote station will be translated to linefeed (0x0A)
  604.   prior to sending to the shell.
  605.   The parameter 'trans' disables this conversion, all characters will be
  606.   sent transparently.
  607.  
  608. ENDShell
  609.   End the shell on the current channel.
  610.  
  611. RUN <program>
  612.   On the current channel the specified program will be executed.
  613.   All received data on the current channel will be used as standard input
  614.   of the program, all data sent to standard output by the program will be
  615.   sent on the current channel. Only programs contained in 'run_dir' can be
  616.   executed.
  617.   All linefeed-characters (0x0A) sent by the program will be translated to
  618.   carriage return (0x0D). All carriage return characters received from the
  619.   remote station will be translated to linefeed (0x0A) prior to sending
  620.   to the program.
  621.  
  622. RUNT <program>
  623.   Same as RUN, but no conversion of linefeed and carriage will be done
  624.   (like SHELL with parameter 'trans').
  625.  
  626. ENDRun
  627.   Abort execution of the program on the current channel.
  628.  
  629. REDir <device>
  630.   Redirection of input/output.
  631.   All received data on the current channel will be sent to <device>, all
  632.   data received from <device> will be sent on the current channel.
  633.  
  634. ENDRedir
  635.   End the redirection of the current channel.
  636.  
  637. SOCket <portnumber>
  638.   On the current channel a server is started which accepts connections on
  639.   an internet socket with the specified portnumber.
  640.  
  641. ENDSock
  642.   End the socket server on the current channel.
  643.  
  644. 1.4.2.4 Directory
  645. -----------------
  646. CD <dir>
  647.   Change the working directory to <dir>. If <dir> is empty, the
  648.   HOME-directory will be used.
  649.  
  650. CWD
  651.   Displays the current working directory.
  652.  
  653. 1.4.2.5 Miscellaneous
  654. ---------------------
  655. TNC <command>
  656.   <command> is sent as a command to the TNC without any conversion.
  657.  
  658. CHANnel <x> or S <x>
  659.   Switch to connect screen of channel x.
  660.   If included in a command script, no changing of screens is performed,
  661.   it simply specifies the channel used for the following commands.
  662.  
  663. XConnect <callsign>
  664.   Start of a routing script for the specified callsign, more info can be
  665.   found in 2.6 . An active script can be ended by using 'OFF' as callsign.
  666.   If a routing script is active, a 'X' in the main statusline will be
  667.   displayed.
  668.  
  669. CONCall <callsign>
  670.   If the updated callsign in the statusline is corrupted by a connect
  671.   message in normal text, the callsign can be restored using this command.
  672.  
  673. SENDCom <filename>
  674.   Execute a file containing TNC or external commands (command script).
  675.  
  676. CBell [ON/OFF]
  677.   Beep if the state of a connection changes (connect bell).
  678.  
  679. INFObell [ON/OFF]
  680.   Beep if a new packet is received on any channel (information bell).
  681.  
  682. COOKie [ON/OFF]
  683.   Send a cookie if connected from a remote station.
  684.  
  685. REMote [ON/OFF]
  686.   Availability of remote commands.
  687.  
  688. UMLaut [ON/OFF]
  689.   Umlaut conversion. (see 2.2)
  690.  
  691. CONText [ON/OFF]
  692.   Send a special connect text, using macros (see 2.5), overrides COOKIE.
  693.  
  694. TXEcho [ON/OFF]
  695.   Echo all sent data from input part to part with received data.
  696.  
  697. PTYEcho [ON/OFF]
  698.   Echo all data received and send on a channel on which SHELL, RUN, SOCKET
  699.   or REDIR is active.
  700.  
  701. NAME <name>
  702.   Set the name of the call on the current channel to <name>, if <name> is
  703.   not specified, the stored name is displayed (only if channel connected).
  704.  
  705. STIme
  706.   Send time and date on the current channel.
  707.  
  708. SCOokie
  709.   Send a cookie on the current channel.
  710.  
  711. TIMESET
  712.   Send time of computer to TNC.
  713.  
  714. DATESET
  715.   Send date of computer to TNC.
  716.  
  717. RESYnc
  718.   Displays the number of hostmode resynchronisations since program start.
  719.  
  720. XMON [ON/OFF]
  721.   Enables or Disables the extended monitor function. If disabled, received
  722.   monitor frames are not analysed any longer.
  723.  
  724. LAYer3 [ON/OFF]
  725.   Enables or disables the analysis of NETROM/TheNet headers (pid CF) in
  726.   monitored frames.
  727.  
  728. HEArd [ON/OFF]
  729.   Enables or Disables the heard list. If disabled, the heard list is not
  730.   updated any longer.
  731.  
  732. KMAcro
  733.   Reload the keyboard macro file 'func_key_file' defined in the init-file.
  734.  
  735. MSEnd <filename>
  736.   Send a file, using macros (see 2.5). The file is fetched from
  737.   'macrotext_dir' defined in the init-file.
  738.   
  739. EXit
  740.   Leave TNT.
  741.  
  742. 1.4.2.6 Extended monitor and boxlist
  743. ------------------------------------
  744. EXTmon <call1> <call2> [<call3> <call4>] (extended monitor screen)
  745. EXTmon <xmon-channel> <call1> <call2> [<call3> <call4>] (other screens)
  746.   On the current (extended monitor screen) or on the specified (other
  747.   screens) channel a connection shall be monitored.
  748.   If only <call1> and <call2> is specified, frames from <call1> to <call2>
  749.   and <call2> to <call1> are monitored, otherwise frames from <call1> to
  750.   <call2> and <call3> to <call4>.
  751.   
  752.  
  753. EXTAmon <call1> <call2> [<call3> <call4>]
  754.   Same as EXTMON except that the next free xmon-channel will be used.
  755.   The resulting channel will be displayed as command response.
  756.  
  757. ENDEXtm (extended monitor screen)
  758. ENDEXtm <xmon-channel> (other screens)
  759.   The extended monitor on the current (extended monitor screen) or the
  760.   specified (other screens) channel will be closed. The connection will
  761.   be no longer monitored.
  762.  
  763. LOGBlist
  764.   On the current channel or on the mailbox screen a file is openend and
  765.   all received data is saved. The command is similar to LOGREC except
  766.   a unique filename is generated (in /tmp directory) and the file will
  767.   be removed during exit of TNT.
  768.  
  769. BLIst
  770.   On the current channel or on the mailbox screen the last active file
  771.   is used for the boxlist screen and feature. If the file is not closed
  772.   up to now, it will be closed.
  773.  
  774. XBList
  775.   Finish boxlist and close the boxlist screen on the current channel.
  776.  
  777. 1.4.2.7 Interface commands
  778. --------------------------
  779. IFAce <socket-name>
  780.   Build up a socket connection to an external program via an UNIX-socket
  781.   <socket-name>.
  782.  
  783. ENDIFace <socket-name>
  784.   Disconnect the socket connection to an external program via an UNIX-socket
  785.   <socket-name>.
  786.  
  787. FINIFace <socket-name>
  788.   Same as ENDIFACE, except that the external program get the command to
  789.   terminate its execution.
  790.  
  791. ACTIf <socket-name>
  792.   Activate the external program on the current channel using the already
  793.   built up socket connection.
  794.  
  795. DEACtif <socket-name>
  796.   Deactivate the external program on the current channel.
  797.  
  798.  
  799. 1.4.2.8 DPBox-interface commands
  800. --------------------------------
  801. ACTBox
  802.   Build up a socket connection to DPBox via an UNIX-socket specified
  803.   by 'box_socket' in the init-file.
  804.  
  805. DEACTBox
  806.   Disconnect the socket connection to DPBox.
  807.  
  808. FINBox
  809.   Disconnect the socket connection to DPBox and terminate DPBox.
  810.  
  811. BOX
  812.   Activate DPBox on the current channel using the already built up
  813.   socket connection.
  814.  
  815. ENDBox
  816.   Deactivate DPBox on the current channel.
  817.  
  818. AUTOBOx [ON/OFF]
  819.   If activated, all connections are scanned for mail-headers. A valid
  820.   mail-header leads to saving the following mail. If the end is reached,
  821.   the mail will be sent via the interface to DPBox.
  822.  
  823. MONBox [ON/OFF]
  824.   If activated, all monitored frames are scanned for mail-headers.
  825.   A valid mail-header leads to an extended monitoring of the connection.
  826.   If no frames are lost and the mail-end is reached, the monitored mail
  827.   will be sent via the interface to DPBox.
  828.  
  829. LMONbox
  830.   All mails which are currently received using the MONBOX-feature are
  831.   displayed.
  832.  
  833.  
  834. 1.4.2.9 Password generation commands 
  835. ------------------------------------
  836. PRIV
  837.   This command starts the password generation sequence. The command is
  838.   rejected if the channel is not connected or the callsign of the connected
  839.   station is not contained in 'tnt_pwfile'.
  840.   The taken action is dependent on the type of the password generation
  841.   defined for the callsign.
  842.  
  843. LISTPRIV
  844.   This command lists all callsigns for which an entry in 'tnt_pwfile'
  845.   was found. In addition for every callsign the type of password generation
  846.   and the file containing the password data is listed.
  847.  
  848. LOADPRIV
  849.   If 'tnt_pwfile' was changed while TNT is running, it can be reloaded
  850.   with this command. A reload is necessary because TNT only reads the
  851.   password file at startup and copies the data to memory.
  852.  
  853.  
  854. 2. Special features
  855. -------------------
  856.  
  857. 2.1 Remote commands
  858. -------------------
  859.  
  860. If remote is enabled (command REMOTE) the remote station can give some commands
  861. to the program. All remote commands start with a double slash '//'. This double
  862. slash must be entered directly at the beginning of a line, otherwise the
  863. command is not accepted.
  864.  
  865. The following remote commands are recognized:
  866.  
  867.  //NAME <name>          Store name in database
  868.  //SHELL [trans]        Start a UNIX-shell session
  869.  //RUN <program>        Execute a program
  870.  //RUNT <program>       Execute a program without CR/LF translation
  871.  //RUN            Directory of all available programs
  872.  //BOX                  Start DigiPoint Box
  873.  //COOKIE               Send a cookie
  874.  //DIR <filter>         Show directory
  875.  //DIRLONG <filter>     Show directory in long format
  876.  //FREE                 Shows space on disks
  877.  //INFO                 Info about station
  878.  //HELP                 This help-information
  879.  //NEWS                 Display news about this station
  880.  //READ <file>          Read a file
  881.  //BREAK                Abort reading file
  882.  //WRITE <file>         Write file to disk
  883.  //CLOSE                End writing file
  884.  //WPRG <file>          Write file to disk using AUTOBIN-protocol
  885.  //WPRG <file> <rfile>  Same as above, but send back //RPRG <rfile>
  886.  //RPRG <file>          Read a file using AUTOBIN-protocol
  887.  //RPRG <file> <rfile>  Same as above, but send back //WPRG <rfile>
  888.  //VERSION              Show version of software
  889.  //ECHO <string>        Send back string
  890.  //TIME                 Send time
  891.  //QUIT                 Disconnect
  892.  //DISC                 Disconnect
  893.  
  894.  
  895. 2.2 Umlaut conversion
  896. ---------------------
  897.  
  898. 2.2.1 Display
  899. -------------
  900. If the LINUX-console control codes are used, for a display on the screen
  901. the IBM-characterset is used. No umlaut-conversion will be done.
  902. If termcap is used a received IBM-umlaut is converted depending on UMLAUT.
  903. If UMLAUT is on, the IBM-umlaut is converted into the 8-bit Latin-1 umlaut.
  904. If UMLAUT is off, it is converted to a two character representation ("ae").
  905.  
  906. 2.2.2 Sending text
  907. ------------------
  908. If UMLAUT is off, all entered umlauts are converted to a two character
  909. representation ("ae"). If UMLAUT is on, umlauts will not be converted and
  910. sent as an IBM-umlaut.
  911.  
  912. 2.2.3 File-receive
  913. ------------------
  914. Only log-files (LOGREC, LOGSND, LOGQSO, LOGMON and LOGXMON) are affected
  915. by umlaut conversion. If UMLAUT is on, the IBM-umlaut is converted into
  916. the 8-bit Latin-1 umlaut. If UMLAUT is off, it is converted to a two
  917. character representation ("ae").
  918.  
  919. 2.2.4 File-send
  920. ---------------
  921. Only log-files (SENDLOG) are affected by umlaut conversion.
  922. If UMLAUT is on, the 8-Bit Latin-1 umlaut is converted into the IBM-umlaut.
  923. If UMLAUT is off, it is converted to a two character representation ("ae").
  924.  
  925.  
  926. 2.3 Using UNIX-features
  927. -----------------------
  928.  
  929. 2.3.1 Shell-login and Redirection
  930. ---------------------------------
  931. TNT allows a remote user to log into UNIX as a normal user. All received
  932. data is treated as shell input, all data from the shell is transmitted to
  933. the remote station.
  934. To use the shell-login it is necessary to invoke TNT by the superuser root.
  935. Otherwise the shell-login is disabled.
  936. The shell can be started by the operator using command SHELL or by the
  937. remote station using command //SHELL.
  938. It is possible to execute all programs which are permitted to use from
  939. the shell.
  940. At login time, it is checked, if the callsign of the remote station is
  941. a valid user-id. If it does not exist, depending on 'unix_new_user' in
  942. the initfile a new user-id is created or the user-id specified by
  943. 'remote_user' is used.
  944. In all cases the callsign is stored on the environment variable 'CALLSIGN'.
  945.  
  946. If you start a shell on a remote system, all programs which need a special
  947. terminal lead to problems in the screen output. Therefore it is possible
  948. to redirect to a virtual console (or any other device, file, pipe, e.t.c.).
  949. The control codes for a terminal are interpreted correctly by the virtual
  950. console and all data entered will be transmitted.
  951. Using this feature screen oriented programs can be executed on the remote
  952. system using TNT as transport medium.
  953. If you want to use this feature be sure to give parameter 'trans' with the
  954. SHELL command. Otherwise there will be a linefeed/carriage return conversion
  955. active which lead to problems using screen oriented programs.
  956.  
  957. To increase performance, for shell and redirection all data from the shell
  958. or the redirection console will be buffered.
  959. This means that data is not sent directly, but if the buffer contains 256
  960. Bytes (the AX25 maximum packetlength) or if for a specific time no new
  961. characters were received. This time can be configured in the initialisation
  962. file.
  963.  
  964. 2.3.2 Running programs
  965. ----------------------
  966. For users who are not familiar with UNIX, the use of a shell is quite
  967. complicated. Therefore a RUN command is implemented, which will execute a
  968. specified program using a shell.
  969. If you don't like running TNT under root-permissions and therefore the
  970. shell-login is disabled, the RUN command allows to execute specific programs
  971. by a remote station. 
  972. A special directory 'run_dir' contains all executable programs. Programs
  973. in other directories cannot be executed by this command.
  974. Because no login is performed, the program is executed using the default
  975. user specified by 'remote_user'.
  976. If TNT was invoked not by the superuser root, the user can't be changed.
  977. In this case the program is executed under the permission of the userid
  978. from which TNT was started.
  979. The callsign of the user is stored in the environment variables 'CALLSIGN'
  980. and 'LOGNAME'.
  981. In most cases it is wanted to translate the UNIX-linefeed to Packet-Radio
  982. carriage return and vice versa. If no translation of the characters sent
  983. and received by the program shall be done, the command RUNT must be used.
  984.  
  985. 2.3.3 Socket interface
  986. ----------------------
  987. If your system is used by several people or is part of a network, you may
  988. want to give access to Packet Radio to these users.
  989. To achieve this, the socket interface is implemented. With the command
  990. SOCKET <portnummer> a server is installed at an internet socket with the
  991. specified portnumber. Now a local user can connect to this server with
  992. 'telnet localhost <portnumber>'. Then a login with callsign and password
  993. is executed. After a successful login one channel of the TNC can be used for
  994. Packet Radio connections.
  995. The login information is kept in sock_passfile and is independent of the
  996. passwd file.
  997.  
  998.  
  999. 2.4 AutoBIN: File transfer
  1000. --------------------------
  1001. To transfer binary files easily without much overhead but with a security
  1002. check, the AutoBIN-'protocol' was defined. 
  1003. It is implemented in many PR-programs. Therefore it is implemented in TNT,
  1004. too. To use AutoBIN the commands SENDABIN, READABIN and LOGABIN are available
  1005. for the operator and //WPRG and //RPRG for a remote user. In addition with
  1006. AUTOBIN the protocol is autonomously started after reception of a valid
  1007. AutoBIN-header.
  1008. At the end of a successful transfer the elapsed time and the effective
  1009. Baudrate is displayed. If a file was received, the received checksum and the
  1010. calculated checksum will be displayed, too. Normally these statistical
  1011. information will be send to the remote station, too. In case of LOGABIN or
  1012. AUTOBIN enabled the statistical information will only be displayed (to avoid
  1013. confusion of some BBSs).
  1014. If the transfer was aborted, the connection was disconnected or the
  1015. calculated checksum is not equal to the received checksum, the received file
  1016. will be moved to a special directory (abin_dir). In addition the name is
  1017. changed to a unique name. From time to time it is needed to clean up this
  1018. directory.
  1019. Although in most cases these corrupted files are of no interest, for the
  1020. rare cases where they are needed they are kept in this directory.
  1021.  
  1022.  
  1023. 2.5 Special connect text and files with macros, Name-database
  1024. -------------------------------------------------------------
  1025. To be able to send a special connect text to a connecting station, macros
  1026. can be included in the connect text file.
  1027. The connect text file will be sent on a connect if CONTEXT was set to ON.
  1028. For default the connect text file (tnt_ctextfile) in the tnt directory
  1029. will be used, but you can put for some users a personal connect text in
  1030. the connect text directory (ctext_dir). The file must be named
  1031. <callsign>.ctx .
  1032.  
  1033. In addition a file containing macros can be sent every time you like,
  1034. not only on connect (command MSEND). All these files must reside in
  1035. the macro text directory 'macrotext_dir'.
  1036.  
  1037. To be more personal and to help remembering the name of the operator of the
  1038. remote station a name database is included.
  1039. A name can be entered by the operator using the NAME command or with //NAME
  1040. given by the remote station.
  1041. If no name is specified after the command, the current name will be
  1042. reported.
  1043.  
  1044. Following macros are expanded, if found in a connect text or macro file:
  1045.  
  1046. %v: Version of TNT running
  1047. %c: Call of other station
  1048. %n: Name of other station (extract from names database)
  1049. %y: Call of own station
  1050. %k: Channel number
  1051. %t: Current time
  1052. %d: Current date
  1053. %b: Bell (^G)
  1054. %i: Include news-file ('news_file_name')
  1055. %z: Timezone
  1056. %_: CR/LF
  1057. %o: Include a cookie
  1058. %?: Send a message if name of other station not contained in
  1059.     names database
  1060. %%: '%' itself
  1061.  
  1062.  
  1063. 2.6 Routing scripts
  1064. -------------------
  1065. The structure of the Packet Radio Network is quite different compared to
  1066. the internet. In the internet you can directly specify your destination and
  1067. the routing will be done automatically.
  1068. In the Packet Radio Network there exist different systems with incompatible
  1069. routing mechanisms. To connect to a destionation there may be needed several
  1070. steps. Suppose the following example:
  1071.  
  1072. You want to connect DL7ZZZ which is standby on the frequency of the digi-
  1073. peater DB0LUC. Your local digipeater is DB0BLO.
  1074. Therefore your first command is to connect DB0BLO (:c db0blo). If the link
  1075. setup was successful you will send the line 'c db0ber' to the digipeater
  1076. which then will build up a connection to DB0BER, which is the next digi-
  1077. peater towards DB0LUC. If the connection is established, DB0BLO will send
  1078. you the message: '*** connected to DB0BER'. 
  1079. Now you enter the line 'c db0luc db0bln', which means DB0LUC can be reached
  1080. from DB0BER via DB0BLN. DB0BLN is not connected, because it uses hop-to-hop
  1081. acknowledge instead of simple digipeating.
  1082. Now if the connection was successful, you get the line
  1083. 'BSUED:DB0BER> Connected to DB0LUC via DB0BLN' and you can at last try to
  1084. connect your destination with the line 'c dl7zzz'. The successful connection
  1085. is indicated by the line '*** connected to DL7ZZZ'.
  1086.  
  1087. If you do this manually, you must look at your screen and after each
  1088. successful connect-message you must enter the new line.
  1089.  
  1090. The connect-script facility (command XCONNECT) now does all these steps
  1091. automatically, if you have given the routing information to the program.
  1092.  
  1093. The routing information will be searched in the names-database file
  1094. (name_file_name) and reads for the example as follows:
  1095.  
  1096. T>DL7ZZZ Joe; N>DB0LUC T>DL7ZZZ
  1097. N>DB0LUC Digi Luckau; N>DB0BER F>DB0BLN N>DB0LUC
  1098. N>DB0BER Digi Tempelhof; N>DB0BLO N>DB0BER
  1099. N>DB0BLO Digi 9K6
  1100.  
  1101. As you can see the routing entries are recursive, you don't have to specify
  1102. the whole routing for the destination.
  1103. The characters before the callsigns give the information to the connect
  1104. script shall connect the digipeater ( N> ) or if the digipeater shall be
  1105. used in the via path ( F>, D> ).
  1106. To identify a normal user T> is used, for mailboxes B> can be used.
  1107.  
  1108. Some programs used by normal users allow a connect with the command
  1109.  //c <callsign>. If you want to use such a user as part of your path,
  1110. put a T> in front of the callsign and a '//c <callsign>'-line will be
  1111. send by the routing script.
  1112.  
  1113.  
  1114. 2.7 Call update
  1115. ---------------
  1116. If you use routing scripts or if you connect manually through a large
  1117. number of digipeaters, you easily loose the orientation, where you are.
  1118. Therefore, every 'connected to' line will update the callsign displayed
  1119. in the statusline.
  1120.  
  1121. 'reconnected to' lines will update the call in the statusline, too, but
  1122. routing scripts will not send the next command line and the logbook call
  1123. will not be updated.
  1124.  
  1125. If the callsign is changed by a 'connected to' string in normal text,
  1126. it can be restored by using the CONCALL command.
  1127.  
  1128.  
  1129. 2.8 Logbook
  1130. -----------
  1131. All connections performed by the station are written into a logbook-file.
  1132. Each line contains starttime and endtime of the connection and the callsign
  1133. of the remote station. If the destination was connected directly only this
  1134. call is logged, if the destination was connected using several digipeaters
  1135. or by a routing script, the first digipeater used is logged, too.
  1136. The name of the logfile can be specified in the init-file (tnt_logbookfile).
  1137.  
  1138. Example:
  1139.  
  1140.    Starttime   |    Endtime     |          Callsign
  1141. -------------------------------------------------------------------------------
  1142. 16.03.94 18:08 | 16.03.94 18:09 | DB0BLO
  1143. 17.03.94 21:32 | 17.03.94 21:37 | GEHREN:DB0LUC, Uplink: DB0BLO
  1144.  
  1145.  
  1146. 2.9 Keyboard macros
  1147. -------------------
  1148. With the keyboard macro feature some often used commands or texts can be
  1149. executed or sent by only one keycode.
  1150. You may define up to 10 keycodes (<ALT>0 to <ALT>9 or <ESC>0 to <ESC>9)
  1151. with either text patterns or TNT commands in a file specified by
  1152. 'func_key_file' in the init-file.
  1153.  
  1154. Each line has to begin with a two digit number specifying the keycode and
  1155. a colon. (01: for <ALT>1 / <ESC>1, 10: for <ALT>0 / <ESC>0).
  1156. A text line must follow directly after the colon. If the last character
  1157. of the line is an asterisk '*' a CR will be sent instead of it, otherwise
  1158. no CR will be sent.
  1159. A command must be preceeded by an additional colon, a CR is always appended
  1160. to the command line.
  1161. The length of the text or command must not exceed the length of the line. 
  1162.  
  1163. If the length of one line is not sufficient for your text or you want to
  1164. send a text containing macros like time and callsign, you must specify the
  1165. commands 'send' or 'msend' instead of a textline. The keyboard macro file
  1166. is loaded at startup. If you change this file during execution of TNT, you
  1167. can reload the file with the command 'kmacro'.
  1168.  
  1169.  
  1170. 2.10 Boxlist
  1171. -----------
  1172.  
  1173. 2.10.1 General description
  1174. -------------------------
  1175. If you get a list of files from a BBS, you will have to write down the
  1176. files you are interested in or you must store the list in a file and look
  1177. through this file afterwards. In both cases you have to type the filename
  1178. or number of the file to get it from the BBS.
  1179.  
  1180. The boxlist-feature allows to fetch a file from the BBS by selecting the
  1181. file (with cursor keys) from the filelist and simply pressing CR.
  1182.  
  1183. 2.10.2 Using boxlist
  1184. --------------------
  1185. How does it work?
  1186.  
  1187. a. Before requesting the filelist open a logfile. If you are not interested
  1188.    in keeping the list, simply use the command 'logblist'. A temporary file
  1189.    with a unique name will be used. This file will be erased when you exit
  1190.    TNT. If you want to keep the list, use 'logrec <filename>'.
  1191.  
  1192. b. If the end of the filelist is received, use the command 'blist'.
  1193.    This command closes the logfile and loads it into the boxlist screen.
  1194.    If no file was open the last logfile on the current channel will be
  1195.    loaded into the boxlist screen.
  1196.  
  1197. c. Use <ALT>L or <ESC>L to toggle connect and boxlist screen. In boxlist
  1198.    screen you can use the cursor commands to select a file. Pressing CR
  1199.    will send a read command to the BBS. All already fetched files will be
  1200.    displayed with a different attribute.
  1201.  
  1202. d. If you have read all files from the filelist you can close the boxlist
  1203.    screen by the command 'xblist'.
  1204.  
  1205. 2.10.3 Using keyboard macros
  1206. ----------------------------
  1207. To use the boxlist feature without typing in the commands, it is advisable
  1208. to use keyboard macros. For example:
  1209. <ALT>8 / <ESC>8 : 'logblist'
  1210. <ALT>9 / <ESC>9 : 'blist'
  1211. <ALT>0 / <ESC>0 : 'xblist'
  1212. These keyboard macros are already included in the sample keyboard macro
  1213. file.
  1214.  
  1215. 2.10.4 Recognized formats
  1216. -------------------------
  1217. At the moment the following list formats are recognized:
  1218.  
  1219. a. DIEBOX check
  1220.  
  1221.     7 DL4BCU > TERMINE...16 24.09.94 DL      2214   5 2m Mobilfuchsjagd I05 08.
  1222.  
  1223. -> R TERMINE 16 +
  1224.  
  1225.  
  1226. b. DIEBOX list
  1227.  
  1228.  263 DL1ZAX 02.11.94 18:03   6763  DL-RUNDSPRUCH NR. 39/94
  1229.  
  1230. -> R 263 +
  1231.  
  1232.  
  1233. 2.11 Extended monitor
  1234. ---------------------
  1235. The extended monitor feature allows the monitoring of specific connections
  1236. on the frequency with automatic removal of headers and resent packets.
  1237. There are 5 (0 to 4) different extended monitor channels available.
  1238. <ALT>X or <ESC>X will switch to the extended monitor screens and TAB can
  1239. be used to change the channel.
  1240.  
  1241. The command EXTMON is used to activate the extended monitor. If you have
  1242. given the command from an extended monitor screen, the current channel will
  1243. be taken. On other screens you must give the channel number as an additional
  1244. parameter before specifying the callsigns.
  1245. The next free extended monitor channel will be taken if the command EXTAMON
  1246. is used.
  1247.  
  1248. As command parameters you have to specify the callsigns of the connection
  1249. you want to monitor. Normally this will be 2 callsigns and both directions
  1250. will be monitored (in different attributes).
  1251.  
  1252. Using digipeaters like NETROM/TheNet or RMNC/Flexnet a connection is build
  1253. up out of 2 connections. First the connection from station 1 to the
  1254. digipeater (DL9xxx <> DB0xxx) and second the connection from the digipeater
  1255. to station 2 (DL9xxx-15 <> DG1xxx). In most cases you can only monitor frames
  1256. sent by the digipeater. In this case you can specify 4 callsigns
  1257. (DB0xxx DL9xxx DL9xxx-15 DG1xxx) and both directions of the connection will
  1258. be monitored in the extended monitor screen.
  1259.  
  1260. The extended monitoring can be finished by the ENDEXTM command.
  1261.  
  1262.  
  1263. 2.12 Use of DPBox
  1264. -----------------
  1265.  
  1266. 2.12.1 General description
  1267. --------------------------
  1268. DPBox is a daemon which is totally independent of TNT. The daemon must
  1269. be activated before using any of the DPBox-commands of TNT.
  1270.  
  1271. 2.12.2 Using unix socket interface
  1272. ----------------------------------
  1273. To build up the connection from TNT to DPBox the command 'actbox' must
  1274. be used. If the connection shall be closed 'deactbox' must be used.
  1275.  
  1276. The command 'finbox' not only closes the connection like 'deactbox', it
  1277. gives a termination command to the DPBox daemon.
  1278.  
  1279. The unix socket name of DPBox must be defined in 'box_socket' in the
  1280. initfile.
  1281.  
  1282. 2.12.3 Mailbox screen
  1283. ---------------------
  1284. If the connection to DPBox is activated, the mailbox screen (<ALT>B or
  1285. <ESC>B) can be used as a sysop-console by executing the 'box' command.
  1286.  
  1287. You can either 'quit' or give the command 'endbox' to end your sysop-
  1288. session.
  1289.  
  1290. All features of a normal connect screen are provided including the boxlist.
  1291. In boxlist mode there is an additional feature. If you select a file and
  1292. press 'e' instead of CR, the file will erased. 'k' for kill and 'l' for
  1293. list are available, too.
  1294.  
  1295. 2.12.4 Using DPBox via Packet Radio
  1296. -----------------------------------
  1297. DPBox can be activated on a normal connect channel by the command 'box',
  1298. by the remote command //box or by connecting a channel which SSID of the
  1299. callsign is equal to 'tnt_box_ssid' in the initfile.
  1300.  
  1301. The 'endbox' command, 'quit' to the box or a disconnect will terminate
  1302. the box-session.
  1303.  
  1304. 2.12.5 Autobox and monbox feature
  1305. ------------------------------------
  1306. If you set 'autobox' to on, all mails you will receive on any channel
  1307. will be sent to DPBox and will be stored in the corresponding board.
  1308. This includes personal mail and bulletins.
  1309.  
  1310. If you set 'monbox' to on and 'xmon' is on, all monitored frames will be
  1311. searched for mail headers. If one is found, it is tried to receive the
  1312. whole mail similar to the extended monitor function. If packets are lost
  1313. or if any other error occurs, the mail is not accepted.
  1314. If the mail was correctly received it will be sent to DPBox and will be
  1315. stored in the corresponding board.
  1316. All bulletins and all personal mail which contains a callsign out of
  1317. 'autobox_dir' as sender or receiver will be treated in this way.
  1318. All mails which will currently be received can be displayed with the
  1319. 'lmonbox' command.
  1320.  
  1321.  
  1322. 2.13 Automatic password generation
  1323. ----------------------------------
  1324.  
  1325. 2.13.1 General description
  1326. --------------------------
  1327. In the packet radio network many different password systems are used at
  1328. the moment. Therefore a configuration file 'tnt_pwfile' is provided.
  1329. In this file for any callsign including SSID a password type and a file
  1330. containing the password can be defined. Depending on the password type
  1331. a different action is taken and the contents of the password file are
  1332. different.
  1333.  
  1334. Up to now only very few password systems (in fact only one :-) ) are
  1335. implemented in TNT, but it is planned to increase the number of supported
  1336. systems. If you have added any password system, please contribute!
  1337.  
  1338. 2.13.2 DIEBOX
  1339. -------------
  1340. If the password type is DIEBOX, after a connect to the specified callsign
  1341. was done, every text is scanned for the string 'Login: '. If the string
  1342. was found, the following date and time is recorded and the scan for the
  1343. string will be stopped.
  1344.  
  1345. If you invoke the command 'priv', a 4 character password will be generated
  1346. out of the logintime and your password file and as a result 'PRIV xxxx' will
  1347. be sent (xxxx stands for generated password).
  1348.  
  1349. The password file must be identical to the file used by DIEBOX, it MUST
  1350. contain CR and LF between every line.
  1351.  
  1352.  
  1353. 3. Installation
  1354. ---------------
  1355.  
  1356. 3.1 Configuration file
  1357. ----------------------
  1358. The configuration of the program is done by a configuration file.
  1359. This file called 'tnt.ini' is searched at the current directory or at the
  1360. home directory of the user (other filenames can be specified by using the
  1361. -i option at startup).
  1362.  
  1363. sample tnt.ini:
  1364.  
  1365. # device to which TNC is connected
  1366. device /dev/cua0
  1367. # lockfile for device
  1368. tnt_lockfile /usr/spool/uucp/LCK..cua0
  1369. # baudrate used
  1370. speed 19200
  1371.  
  1372. # username for remote permissions
  1373. remote_user guest
  1374. # first user-id for new users
  1375. unix_first_uid 410
  1376. # group-id for new users
  1377. unix_user_gid 101
  1378.  
  1379. # generation of new users
  1380. unix_new_user 1
  1381.  
  1382. # timeout packet assembly for SHELL/REDIR (seconds)
  1383. pty_timeout 2
  1384.  
  1385. # maximum number of entries in heardlist
  1386. num_heardentries 100
  1387.  
  1388. # expansion of R:-headers in boxlist read command
  1389. blist_add_plus 0
  1390.  
  1391. # SSID of DPBox
  1392. tnt_box_ssid 7
  1393.  
  1394. # tnt directory
  1395. tnt_dir /work/tnt/
  1396. # remote directory
  1397. remote_dir /work/tnt/remote/
  1398. # ctext directory
  1399. ctext_dir /work/tnt/ctext/
  1400. # directory for corrupt autobin-files
  1401. abin_dir /work/tnt/abin/
  1402. # directory for uploads
  1403. upload_dir /work/tnt/up/
  1404. # directory for downloads
  1405. download_dir /work/tnt/down/
  1406. # directory for executable programs
  1407. run_dir /work/tnt/bin/
  1408. # upfile
  1409. tnt_upfile tnt.up
  1410. # downfile
  1411. tnt_downfile tnt.dwn
  1412. # infofile
  1413. rem_info_file tntrem.inf
  1414. # helpfile
  1415. rem_help_file tntrem.hlp
  1416. # tnthelpfile
  1417. tnt_help_file tnt.hlp
  1418. # cookiefile
  1419. tnt_cookiefile /work/cookie/cookies.doc
  1420. # namesfile
  1421. name_file_name names.tnt
  1422. # newsfile
  1423. news_file_name news.tnt
  1424. # connect text
  1425. tnt_ctextfile ctext.tnt
  1426. # logbook file
  1427. tnt_logbookfile log.tnt
  1428. # password file
  1429. tnt_pwfile pw.tnt
  1430. # resync logfile
  1431. resy_log_file /work/tnt/resy.log
  1432. # socket passwordfile
  1433. sock_passfile netpass.tnt
  1434. # home-dir for new users
  1435. unix_user_dir /work/tntusers/
  1436. # file for keyboard macros
  1437. func_key_file fkeys.tnt
  1438. # dir for macro-texts
  1439. macrotext_dir /work/tnt/macro/
  1440. # socket for digipoint box
  1441. box_socket /work2/box/system/socket
  1442. # directory for newmail
  1443. newmaildir /work2/box/newmail/
  1444. # file holding monitored folders
  1445. autobox_dir /work/tnt/autobox.dir
  1446.  
  1447. # number of lines for backscroll
  1448. # command-screen
  1449. lines_command 40
  1450. # monitor-screen
  1451. lines_monitor 400
  1452. # input area of connect-screens
  1453. lines_input 20
  1454. # output area of connect-screens
  1455. lines_output 100
  1456. # input/output-lines ratio on real screen (connect)
  1457. scr_divide 5
  1458. # input area of mailbox-screen
  1459. lines_mbinput 20
  1460. # output area of mailbox-screen
  1461. lines_mboutput 1000
  1462. # input/output-lines ratio on real screen (mailbox)
  1463. mbscr_divide 8
  1464. # output area of extended monitor screens
  1465. lines_xmon 100
  1466. # input area of extended monitor screens
  1467. lines_xmon_pre 10
  1468. # input/output-lines ratio on real screen (extended monitor)
  1469. xmon_scr_divide 5
  1470.  
  1471. # use color attributes
  1472. color 1
  1473. # don't use termcap
  1474. termcap 0
  1475.  
  1476. # attributes for color
  1477. # normal characters
  1478. attc_normal 0x07
  1479. # characters in bottom statusline
  1480. attc_statline 0x10
  1481. # characters in monitor-headers
  1482. attc_monitor 0x06
  1483. # characters in channel statusline
  1484. attc_cstatline 0x1F
  1485. # control-characters
  1486. attc_controlchar 0x0F
  1487. # remote-answers
  1488. attc_remote 0x06
  1489.  
  1490. # attributes for monochrom
  1491. # normal characters
  1492. attm_normal 0x00
  1493. # characters in bottom statusline
  1494. attm_statline 0x08
  1495. # characters in monitor-headers
  1496. attm_monitor 0x10
  1497. # characters in channel statusline
  1498. attm_cstatline 0x10
  1499. # control-characters
  1500. attm_controlchar 0x10
  1501. # remote-answers
  1502. attm_remote 0x10
  1503. <EOF>
  1504.  
  1505.  
  1506. 3.1.1 Serial and general configuration
  1507. --------------------------------------
  1508. 'device'        : Device, to which the TNC is connected, must be specified.
  1509. 'speed'         : Baudrate of the serial port
  1510. 'tnt_lockfile'  : Filename to lock the port
  1511.  
  1512. 'num_heardentries': Number of entries in heardlist.
  1513. 'blist_add_plus': If not set to 0, a '+' is appended to the boxlist read
  1514.                   command. As a result the mail will contain full R: lines.
  1515. 'tnt_box_ssid'  : If the own call on the current channel is equal to this
  1516.                   ssid, DPBox is started on connect.
  1517.  
  1518. 3.1.2 Security
  1519. --------------
  1520. 'remote_user'   : User-Id for remote access.
  1521.        
  1522. If TNT was started by root, prior to every remote file command the
  1523. user-id is changed to restrict the file permissions of the remote user.
  1524. If TNT was started by a normal user, the user-id is not changed. Therefore
  1525. a remote user has the same file permissions as the user himself.
  1526.  
  1527. 'unix_new_user' : 1: A new user gets an entry in /etc/passwd and a
  1528.                      directory is created.
  1529.                   0: A new user is logging in as specified in 'remote_user'.
  1530. 'unix_first_uid': First user-ID which will be taken for new users.
  1531. 'unix_user_gid' : Group-ID used for new users.
  1532.  
  1533.  
  1534. 3.1.3 Directories and Files
  1535. ---------------------------
  1536. 'tnt_dir'        : Directory which contains tnt-files
  1537. 'remote_dir'     : Directory used for remote access
  1538. 'ctext_dir'      : Directory used for personal connect texts
  1539. 'abin_dir'       : Directory for files of unsuccessful AutoBIN-transfers
  1540. 'upload_dir'     : Directory for sending files (SEND/SENDLOG/...) if no
  1541.                    directory was specified.
  1542. 'download_dir'   : Directory for receiving files (READ/LOGQSO/...) if no
  1543.                    directory was specified.
  1544. 'run_dir'        : Directory for executable programs (//RUN).
  1545. 'unix_user_dir'  : Root-directory for directories of new users.
  1546. 'macrotext_dir'  : Directory for files containing text-macros (MSEND).
  1547. 'newmaildir'     : Directory where mails read by AUTOBOX and MONBOX
  1548.                    are stored for DPBox.
  1549.  
  1550. 'tnt_upfile'     : Command script executed at startup of program
  1551. 'tnt_downfile'   : Command script executed before exit of program
  1552. 'rem_info_file'  : File transmitted if remote command //info is received
  1553. 'rem_help_file'  : File transmitted if remote command //help is received
  1554. 'tnt_help_file'  : File which is displayed if help screen is selected
  1555. 'tnt_cookiefile' : File which contains database for fortune cookies
  1556. 'tnt_logbookfile': File for logbook
  1557. 'tnt_pwfile'     : File for generation of passwords
  1558. 'name_file_name' : File for names database and routing scripts
  1559. 'news_file_name' : File for news message, transmitted if //news is received
  1560.                    or if %i macro is found in a connect text file
  1561. 'tnt_ctextfile'  : File containing common connect text
  1562. 'resy_log_file'  : Logfile if a resync occured
  1563. 'sock_passfile'  : Socket login database
  1564. 'func_key_file'  : Definition of keyboard macros
  1565. 'box_socket'     : Path and name of the UNIX-socket used for connection
  1566.                    to DPBox.
  1567. 'autobox_dir'    : File containing boards which shall be monitored using
  1568.                    MONBOX-feature.
  1569.  
  1570. All files except 'tnt_cookiefile', 'resy_log_file' and 'autobox_dir' are
  1571. searched in the directory specified by 'tnt_dir'. 'tnt_cookiefile',
  1572. 'resy_log_file' and 'autobox_dir' must contain the complete path to the file.
  1573.  
  1574.  
  1575. 3.1.4 Lines of virtual screens
  1576. ------------------------------
  1577. 'lines_command' : Number of lines of the command screen.
  1578. 'lines_monitor' : Number of lines of the monitor screen.
  1579. 'lines_input'   : Number of lines of the input part of the connect screen.
  1580. 'lines_output'  : Number of lines of the output part of the connect screen.
  1581. 'scr_divide'    : Input/output-lines ratio on real screen (connect).
  1582.                   Example: Real screen has 25 Lines, scr_divide is 5.
  1583.                   25 Lines - 2 Statuslines = 23 lines for input/output.
  1584.                   23 / 5 = 4.6 -> 4 lines on input.
  1585.                   23 - 4 = 19 lines for output.
  1586. 'lines_mbinput' : Number of lines of the input part of the mailbox screen.
  1587. 'lines_mboutput': Number of lines of the output part of the mailbox screen.
  1588. 'mbscr_divide'  : Input/output-lines ratio on real screen (mailbox).
  1589. 'lines_xmon'    : Number of lines of the output part of the extended
  1590.                   monitor screen.
  1591. 'lines_xmon_pre': Number of lines of the input part of the extended
  1592.                   monitor screen.
  1593. 'xmon_scr_divide': Input/output-lines ratio on real screen (extended
  1594.                   monitor screen).
  1595.  
  1596. 3.1.5 Display configuration
  1597. ---------------------------
  1598. 'color'         : non color attributes (0) or color attributes (1)
  1599. 'termcap'       : use LINUX-console control codes (0) or /etc/termcap (1)
  1600.  
  1601. if color and LINUX-console control codes are selected, but the TERM entry
  1602. in the environment is not "console", no color and termcap is used.
  1603.  
  1604.  
  1605. 3.1.6 Screen attributes
  1606. -----------------------
  1607. Depending on the selected mode (color) the color or monochrom attributes
  1608. are used.
  1609. Important notice: The attributes for normal text and for controlcharcters
  1610. in the input field MUST be different, otherwise no control-characters can
  1611. be sent.
  1612.  
  1613.  
  1614. 3.1.6.1 Color attributes
  1615. ------------------------
  1616. 'attc_normal'     : For normal text.
  1617. 'attc_statline'   : For main statusline at the bottom of the screen.
  1618. 'attc_monitor'    : For monitor headers.
  1619. 'attc_cstatline'  : For statusline of channel in connect screen.
  1620. 'attc_controlchar': For controlcharacters in the input field.
  1621. 'attc_remote'     : For text transmitted because of remote functions.
  1622.  
  1623. The attributes are coded in the following manner:
  1624.  
  1625.  
  1626.     X    X    X    X    X    X    X    X
  1627.   Blink BCo2 BCo1 BCo0 FCo3 FCo2 FCo1 FCo0
  1628.           Background-      Foreground-
  1629.             Colour           Colour
  1630.  
  1631. Blink:
  1632. 0:off, 1:on
  1633.  
  1634. Background Color:
  1635.         BCo2 BCo1 BCo0 
  1636. Black     0    0    0
  1637. Red       0    0    1
  1638. Green     0    1    0
  1639. orange    0    1    1
  1640. blue      1    0    0
  1641. magenta   1    0    1
  1642. cyan      1    1    0
  1643. white     1    1    1
  1644.  
  1645. Foreground Color:
  1646.               FCo3 FCo2 FCo1 FCo0 
  1647. Black           0    0    0    0
  1648. Red             0    0    0    1
  1649. Green           0    0    1    0
  1650. Orange          0    0    1    1
  1651. Blue            0    1    0    0
  1652. Magenta         0    1    0    1
  1653. Cyan            0    1    1    0
  1654. White           0    1    1    1
  1655. Grey            1    0    0    0
  1656. Light red       1    0    0    1
  1657. Light green     1    0    1    0
  1658. yellow          1    0    1    1
  1659. Light blue      1    1    0    0
  1660. Light magenta   1    1    0    1
  1661. Light cyan      1    1    1    0
  1662. Light white     1    1    1    1
  1663.  
  1664.  
  1665. 3.1.6.2 Monochrom attributes
  1666. ----------------------------
  1667. 'attm_normal'     : For normal text.
  1668. 'attm_statline'   : For main statusline at the bottom of the screen.
  1669. 'attm_monitor'    : For monitor headers.
  1670. 'attm_cstatline'  : For statusline of channel in connect screen.
  1671. 'attm_controlchar': For controlcharacters in the input field.
  1672. 'attm_remote'     : For text transmitted because of remote functions.
  1673.  
  1674. The attributes are coded in the following manner:
  1675.  
  1676.  
  1677.     X    X    X    X    X    X    X    X
  1678.              Att5 Att4 Att3 Att2 Att1 Att0
  1679.  
  1680. Att0: Standout    (termcap so/se)
  1681. Att1: Underline   (termcap us/ue)
  1682. Att2: Blink       (termcap mb/me)
  1683. Att3: Reverse     (termcap mr/me)
  1684. Att4: Bold        (termcap md/me)
  1685. Att5: Halfbright  (termcap mh/me)
  1686.  
  1687. 0: off, 1: on
  1688.  
  1689.  
  1690. 3.1.7 Packet assembly timeout
  1691. -----------------------------
  1692. 'pty_timeout'     : Time for packet assembly
  1693.  
  1694. All characters received by a shell or redirection are buffered. If the
  1695. buffer reaches the maximum packetsize (256 bytes) the buffer is transmitted.
  1696. After each new character pty_timeout seconds are waited for the next
  1697. character. If during this time no character is given, the buffer will be
  1698. sent even if the maximum packetsize is not reached.
  1699.  
  1700.  
  1701. 3.2 TNC-configuration files
  1702. ---------------------------
  1703. At the startup of the program a command script is executed. It can be used
  1704. to initialize some parameters in the TNC. The filename must be specified
  1705. after 'tnt_upfile' in the init file.
  1706.  
  1707. To set up different callsigns on specific channels the following command
  1708. sequence can be used:
  1709.  
  1710. ...
  1711. CHANNEL 4
  1712. MYCALL DL4YBG-4
  1713. CHANNEL 5
  1714. MYCALL DL4YBG-5
  1715. CHANNEL 6
  1716. MYCALL DL4YBG-6
  1717. ...
  1718.  
  1719. After the EXIT command is given another command script is executed before
  1720. the termination of the program. The filename must be specified after 
  1721. 'tnt_downfile' in the init file.
  1722.  
  1723.  
  1724. 3.3 Cookie file
  1725. ---------------
  1726. If fortune cookie sending is active (command COOKIE) and someone is connecting
  1727. to the station a randomly selected cookie out of the cookie file will be sent.
  1728.  
  1729. The cookie file consists of cookie texts delimited by a line containg a '-'
  1730. as the first character (the rest of the line will be ignored). The minimal
  1731. size of a cookie file is 2048 bytes.
  1732.  
  1733. The filename of the cookie file must be given after 'tnt_cookiefile' in the
  1734. init file.
  1735.  
  1736.  
  1737. 3.4 Files for remote commands
  1738. -----------------------------
  1739. If the remote command //help is received a file specified after
  1740. 'rem_help_file' in the init file is transmitted.
  1741. The file shall contain an overview and an explanation of the possible remote
  1742. commands.
  1743.  
  1744. If the remote command //info is received a file specified after
  1745. 'rem_info_file' in the init file is transmitted.
  1746. The file shall contain a description of the station and the used equipment.
  1747.  
  1748. If the remote command //news is received a file specified after
  1749. 'news_file_name' in the init file is transmitted.
  1750. The file shall contain any news about the station.
  1751.  
  1752.  
  1753. 3.5 Files for connect text
  1754. --------------------------
  1755. If connect text sending is active (command CONTEXT) and someone is connecting
  1756. to the station a special connect text will be sent.
  1757. The connect text is fetched from the file specified after 'tnt_ctextfile'.
  1758. Any macros contained in the file will be expanded.
  1759. It is possible to send several users a personal connect text. To achieve this
  1760. a file called <callsign>.ctx must be put to the directory specified after
  1761. 'ctext_dir', where <callsign> is the call of the user.
  1762.  
  1763.  
  1764. 3.6 Files for names database and routing scripts
  1765. ------------------------------------------------
  1766. For use with the connect text feature a names database is included. The
  1767. database itself is contained in the file specified after 'name_file_name'.
  1768.  
  1769. The same file is used for the database for the routing scripts.
  1770. The entries for routing scripts can be recursive, it is not needed to
  1771. specify the whole path for each callsign.
  1772. The path is assembled using the relevant entries in the database.
  1773.  
  1774. In front of the callsign a letter specifies the type of the station:
  1775. T : Normal user
  1776. N : Network node
  1777. All other characters are accepted.
  1778. The only difference is the treatment of the call in routing scripts.
  1779.  
  1780. The database is a text file containing lines like the following:
  1781.  
  1782. T>DL4YBG Mark
  1783. -> The name of the operator of station DL4YBG is Mark, no routing information
  1784.    given or station can be reached directly.
  1785. T>DL7ZZZ Joe; N>DB0LUC T>DL7ZZZ
  1786. -> The name of the operator of station DL7ZZZ is Joe, the station can be
  1787.    connected from digipeater DB0LUC.
  1788. N>DB0BLO Digi 9K6
  1789. -> The digipeater DB0BLO can be connected directly.
  1790. N>DB0BER Digi Tempelhof; N>DB0BLO N>DB0BER
  1791. -> The digipeater DB0BER can be connected from digipeater DB0BLO.
  1792. N>DB0LUC Digi Luckau; N>DB0BER F>DB0BLN N>DB0LUC
  1793. -> The digipeater DB0LUC can be connected from digipeater DB0BER via DB0BLN.
  1794.  
  1795.  
  1796. 3.7 User-Id's and security
  1797. --------------------------
  1798. For every user it is possible to log into the UNIX-system by using //SHELL
  1799. or if the operator uses the SHELL command for the channel.
  1800. The callsign of the connected station is used as the user-id.
  1801. If there is no user-id existing with this call sign and 'unix_new_user' is
  1802. not set, the user-id "guest" is used.
  1803. Because at the moment there is no security for the password, no passwords
  1804. are used.
  1805. If you don't use 'unix_new_user' you must prepare the user-id's of the
  1806. authorized users yourself.
  1807. Therefore the entries in /etc/passwd shall look like:
  1808.  
  1809. guest::407:109::/home/guest:
  1810. dl4ybg::405:101::/home/dl4ybg:
  1811.  
  1812. These user-id's must not appear in /etc/shadow (only if shadow passwords
  1813. are used).
  1814.  
  1815. Hint: The user guest can be created using 'useradd -m guest', then
  1816.       /etc/passwd must be adapted and the password-entry in /etc/shadow
  1817.       (only if shadow passwords are used) must be erased. Try a login
  1818.       from a virtual terminal prior to logging in via remote command.
  1819.  
  1820. IMPORTANT:
  1821. Check the file permissions on your system and use a password for root, now 
  1822. you are not alone any longer!
  1823.  
  1824.  
  1825. 3.8 Logfile for resyncronisation
  1826. --------------------------------
  1827. If during operation a resyncronisation is frequently started, it might be
  1828. useful to track down the reason for it. This can be achieved by specifying
  1829. 'resy_log_file' in the init-file. The full path to the file must be given.
  1830. If left blank no resync log file is written.
  1831. Have a look at the size of the resync file, it is advisable to remove it
  1832. from time to time to regain disc space.
  1833.  
  1834.  
  1835. 3.9 File for keyboard macros
  1836. ----------------------------
  1837. sample fkeys.tnt:
  1838.  
  1839. #
  1840. # Function-Key-File
  1841. #
  1842. # XX:text
  1843. # XX::command
  1844. #
  1845. # '*' at end sends CR after a text
  1846. #
  1847. 01::send .signature
  1848. 02:***end*
  1849. 03::c db0abc
  1850. 04::c db0zzz-8
  1851. 08::logblist
  1852. 09::blist
  1853. 10::xblist
  1854. <EOF> 
  1855.  
  1856.  
  1857. 3.10 File for password generation
  1858. ---------------------------------
  1859. sample pw.tnt:
  1860.  
  1861. # sample password file
  1862. # all lines must use the following format:
  1863. # <callsign> <password-type> <password-file>
  1864. # DieBox DB0XXX
  1865. DB0XXX-3 DIEBOX /work/tnt/db0xxx.pw
  1866. <EOF>
  1867.  
  1868.  
  1869. 4. Options at startup
  1870. ---------------------
  1871.  
  1872.    Usage : tnt [-i <init-file>] [-l <log-file>] [-u]
  1873.  
  1874. TNT has three startup options. A file after -i is taken as the init file and
  1875. a file after -l is opened on channel 1 equal to a LOGREC command. If the
  1876. program was not normally ended and the serial port is locked, the lockfile
  1877. can be ignored with -u.
  1878. The -l option is useful if the TNC holds data from the time without
  1879. a terminal.
  1880.  
  1881.  
  1882. 5. Running under X11
  1883. --------------------
  1884. TNT needs a XTERM console for execution under X11. Therefore TNT can be
  1885. started from every XTERM shell.
  1886. A sample script file 'xtnt' can be used to create a new window for TNT. To
  1887. change the parameters in 'xtnt' see the manual entry for XTERM.
  1888.  
  1889.  
  1890. 6. Porting of TNT
  1891. -----------------
  1892. In config.h several options can be defined or undefined. Create a new entry
  1893. in config.h and a new makefile for your operating system. At the moment
  1894. Linux and Interactive UNIX (ISC) are supported.
  1895. The codes generated by function and special keys are defined in keys.h and
  1896. must be adapted. 
  1897. Because in most cases not all keys are listed in the /etc/termcap entry the
  1898. keycodes are defined in this way.
  1899. If your porting was successful, please send me your changes. They will be
  1900. included then in the next release.
  1901.  
  1902.  
  1903. 7. The end
  1904. ----------
  1905. Thanks to Dieter, DK5SG / N0PRA for wampes. The source code contains many
  1906. interesting things and I took some parts of the shell-functions out of the
  1907. wampes-code.
  1908.  
  1909. Thanks to Joerg, DD8FR for providing the code for macro expansion in the
  1910. connect text and for using more than 80 characters per line.
  1911.  
  1912. Patrick (ex DL7AUC), who has ported TNT to ISC Unix and has contributed many
  1913. ideas and additional code for the socket feature, lost his life in
  1914. an accident. His work and support was very much appreciated and will be
  1915. missed very much. He will always be remembered.
  1916.  
  1917. Thanks to Joachim, DL8HBS (author of DigiPoint for ATARI) for providing me
  1918. with his sourcecode. Thanks also for the hours of discussing and planning
  1919. the porting of the box-part of DP to Linux and for the support during the
  1920. debugging sessions.
  1921.  
  1922. Thanks to Gert, DK3NY for the implementation of the password generation
  1923. for DIEBOX-BBS's.
  1924.  
  1925. Thanks to Andreas, DK9HE for analysing and fixing the startup problem if
  1926. TNT was not invoked by root.
  1927.  
  1928. Thanks to all who have tested TNT and have given comments.
  1929.  
  1930. And last but not least thanks to Linus and all of the Linux-community for
  1931. giving us a superb operating system.
  1932. Special thanks to Joseph H. Allen for the JOE-editor and Dave Gillespie
  1933. for the P2C Pascal to C translator.
  1934.  
  1935. If you have questions, comments or bug reports, just write a mail:
  1936.  
  1937. Ham Radio : DL4YBG @ DB0BLO.#BLN.DEU.EU
  1938. Internet  : wahlm@zelator.de
  1939.  
  1940. 73, Mark Wahl (DL4YBG)
  1941.